Please use this identifier to cite or link to this item:
https://repositorio.ufpe.br/handle/123456789/52936
Share on
| Title: | Comparando soluções para o problema de N+1 queries com APIs GraphQL em Ruby on Rails |
| Authors: | SIMÕES, Igor Beltrão Pereira |
| Keywords: | GraphQL; Ruby on Rails; APIs; N+1 Queries |
| Issue Date: | 2-Oct-2023 |
| Citation: | SIMÕES, Igor Beltrão Pereira. Comparando soluções para o problema de N+1 queries com APIs GraphQL em Ruby on Rails. 2023. 14 f. TCC (Graduação) - Curso de Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2023. |
| Abstract: | Atualmente, APIs (Application Programming Interface) enfrentam desafios comuns relacionados ao problema de N+1 queries, como as APIs GraphQL escritas em Ruby on Rails (Rails). Este problema pode impactar significativamente a eficiência e a performance das aplicações. No entanto, existem diversas soluções que têm sido exploradas para contornar essa questão. Dentro do ecossistema Rails, soluções nativas são frequentemente adotadas. O Active Record, um ORM (Object-Relational Mapping) utilizado pelo Rails, possui um método chamado includes. Esse método précarrega associações entre objetos, o que minimiza a quantidade de queries ao banco de dados. Além disso, algumas gems têm ganhado destaque no combate ao problema de N+1 queries em GraphQL. Gems, no contexto do Ruby, são pacotes de código que fornecem funcionalidades específicas, funcionando como bibliotecas que podem ser facilmente adicionados a projetos Ruby. Entre elas, podemos destacar a graphql-batch e a batch-loader. Ambas oferecem ferramentas poderosas para agrupar e resolver queries de maneira mais eficiente, eliminando a necessidade de múltiplas consultas individuais ao banco de dados. Ao desenvolver ou otimizar APIs GraphQL em Rails, é essencial considerar estas soluções e avaliar qual se encaixa melhor no contexto da aplicação, tendo em vista os prós e contras de cada abordagem e a necessidade de performance do sistema. Para aprofundar nossa compreensão, as soluções foram implementadas e testadas considerando métricas quantitativas, como o tempo total de execução, e qualitativas, como flexibilidade e usabilidade. Em conclusão, enquanto cada solução pode ter suas vantagens e desvantagens, a escolha ideal para abordar o problema de N+1 queries em APIs GraphQL em Rails deve levar em consideração as especificidades e necessidades de cada projeto. Neste estudo, esperamos fornecer uma base sólida para tomada de decisão para desenvolvedores e equipes que enfrentam desafios semelhantes. |
| URI: | https://repositorio.ufpe.br/handle/123456789/52936 |
| Appears in Collections: | (TCC) - Ciência da Computação |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| TCC Igor Beltrão Pereira Simões.pdf | 4.67 MB | Adobe PDF | ![]() View/Open |
This item is protected by original copyright |
This item is licensed under a Creative Commons License

